This invention relates to packet switching networks, and more particularly to methods and apparatus for call clearing in a packet switching network.
In the early 1970's, packet switching systems were first being investigated as an option for meeting the data communication needs of the future. Today packet switching networks are widely employed in the United States and elsewhere. Essentially, in a packet switching system a customer's or a subscriber's data traffic reaches a packet switching carrier's network interface point over a local access line or a link. At the interface the data is broken down into packets by the PAD (Packet Assembly and disassembly Apparatus). A packet can contain from 1 to 1024 characters depending upon the system and/or the customer's application. The packet is a group of binary digits including a data and control elements which is switched as a composite whole. The data and control elements within the packet are arranged in a specific format. In the packet switching network packets created at the network interface point from many different and diversified customers and terminals are merged into high speed data streams and the data streams are placed under control of the packet switching exchange at the interface point on to the network of private lines where each line is connected to other packet switching exchange central offices.
Depending upon the address of the destination as determined by the packet header, a packet will be routed to or through one or more network switching nodes and/or networks until it arrives at the remote destination. The remote network interface then required by the remote subscriber can reassemble the packets and transmit the data to the proper subscriber via another local loop or line.
In such a system the merging of multiple packet streams means lower capital investment and a high utilization of the data lines and switching equipment. In this manner a carrier can transmit more data with lower operating cost and with a lower initial investment.
In the present packet switching networks due to internationally standardized packet protocols an end-to-end acknowledgement does not exist. In such systems data is only acknowledged on a link-by-link basis. This is due to the fact that the essence of packet switching technology is store and forward. An example of a packet switched communication system which operates in a store and forward mode and which system represents substantial advancements in packet switching is given by reference to U.S. Pat. No. 4,058,672 entitled PACKET SWITCHED DATA COMMUNICATION SYSTEM issued on Nov. 15, 1977 to W. C. Crager, et al. and assigned to the assignee herein.
In packet switched systems as presently employed each link in a connection only engages the previous link. This operation provides a high throughput and substantial error correction. However, this technology does not allow for network congestion and/or delay situations. In the packet switching system as each packet or frame of data is sent down a link it is assigned a number. This number is used for flow control and to assure link by link acknowledgement of each frame. When a node point gets full or congested it stops accepting additional data from the previous node. It does this by advising the node that it is in a Receive Not Ready (RNR) state and that all data should be held up until the node is back in the Receive Ready (RR) state. In addition to this method of RNR and RR, there exists the use of what is called window size parameters. The window size indicates the range of data packets that may be sent by one node to another node without acknowledgment from the recipient. Once all possible numbers within the window have been sent (without acknowledgement being received) the window is considered closed, and the transmitting node stops sending additional data. This state when the window is closed or when a node is in the RNR state wherein the network cannot accept further data from the subscriber customer is referred to as network congestion.
When a customer wishes to terminate the call a clear request (CQ) is sent to the packet network. This is sent by the PAD of the network interface point. In order to signal the PAD that the customer wishes to end the call, an End Of Call (EOC) is transmitted to the PAD by the customer Non-Packet Terminal (NPT). The PAD treats the EOC as a command for issuance of a CQ packet on the packet side of the PAD. The CQ is an unnumbered command, and accordingly even if the window is closed, the CQ will be sent out. Any data in buffers present in the PAD at the time of the CQ packet are released or discarded. As the CQ packet traverses the links between the virtual circuit end points, each link (one by one) is cleared and any data present is also discarded. In this manner, resources are released on a link by link basis and available for other calls to and from other nodes.
In the prior art systems as above described, when a customer wishes to terminate a call he either hangs up his telephone receiver by going on hook or he issues an EOC which is end of call. The packet switching side of the PAD then transmits the CQ packet instantly. In this regard any data that may be buffered on the packet outgoing side as well as intermediary nodes will be instantly discarded as will all buffered incoming data. Additionally, no further traffic is passed by the PAD in either direction associated with that call. In this regard a level 4 or user end-to-end understanding of the EOC/CQ request is necessary for message assurance. As one can ascertain for calls that operate in a true interactive environment this does not present a problem. In the interactive environment both subscribers as the called and the calling subscribers are in direct communication with each other as for example, holding a conversation and therefore when the call is terminated both subscribers normally understand that this is to occur. In any event for operations that employ a non-interactive system, at one or both ends, this presents a substantial problem. It is quite conceivable that after the local end device finished transmitting a message, part of that message has not reached the other side of the call. This is especially true in the non-interactive case as computers interface at much higher speeds that terminals, so data Buffering is employed to balance the speeds. For example, in a data packet switching system a computer or other data terminal may initiate a call to transmit data via the network to a remote computer or subscriber terminal. When the computer has finished transmitting its data it will initiate an EOC. If when the local device issues the EOC, all data has not reached the remote side, the data will be discarded without the knowledge of the local device. In the present system an EOC is entirely equivalent to an instant call end. The above described problem exists in present packet switching systems and based on traffic considerations as described above results in a substantial loss of data during non-interactive connections.
It is therefore an object of the present invention to provide an improved technique for call clearing in a packet switching network.
It is a further object of this invention to provide apparatus which enables the system to wait a predetermined period of time to allow previously transmitted data to reach the desired destination before a call will be terminated.